<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:pe="http://primefaces.org/ui/extensions">

    <f:view contentType="text/html">
        <h:head>
            <f:facet name="first">
                <meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
                <title>Crew Intranet: JMS</title>
            </f:facet>
        </h:head> 

        <h:body>
            <ui:composition template="./template.xhtml">
                <ui:define name="top">
                    
                </ui:define>
                <ui:define name="left">
                    <h:form>
                        <p:menu my="true" style="width:200px">
                            <p:submenu label="Tableau de bord" >  
                                <p:menuitem value="Radio opérateur" action="#{redirectionBean.getRedirectionRadioOperateurJMS}" icon="ui-icon-gear"
                                            styleClass="#{
                                            view.viewId == '/radiooperateurJms.xhtml'
                                                ? 'ui-state-active menuItemSelectionner' : ''}"
                                            />  

                            </p:submenu>
                            <p:submenu label="Affectation">  
                                <p:menuitem value="Gestion des affectations" action="#{redirectionBean.getRedirectionAffectationsJMS}" icon="ui-icon-suitcase" 
                                            styleClass="#{
                                            view.viewId == '/affectationsJms.xhtml'
                                                ? 'ui-state-active menuItemSelectionner' : ''}"/>   
                            </p:submenu>  
                            <p:submenu label="Besoins">  
                                <p:menuitem value="Gestion des besoins" action="#{redirectionBean.getRedirectionBesoinsJMS}" icon="ui-icon-star"
                                            styleClass="#{
                                            view.viewId == '/besoinsJms.xhtml'
                                                ? 'ui-state-active menuItemSelectionner' : ''}"
                                            />  
                            </p:submenu>  
                        </p:menu>
                    </h:form>
                </ui:define>
                <ui:define name="content">
                    <h:form id="formMessage">
                        <p:growl id="message" showDetail="true"/>
                    </h:form>
                    <h:form id="formeRadioOperateur">
                        <p:panel style="width: 95%">
                            <f:facet name="header">
                                Radio Opérateur
                            </f:facet>
                            <p:tabView id="tabViewRadioOp">  

                                <p:tab id="tab1" title="Affectation du jour">
                                    <h:panelGrid columns="3">
                                        <p:outputLabel value="* Signification des couleurs :" style="color: red;"/>
                                        <p:panelGrid columns="1">
                                            <p:outputLabel value="Sortie en cours" style="background-color: #E2CF6C;"/>
                                            <p:outputLabel value="Fin de la sortie" style="background-color: #6CE26C;"/>
                                        </p:panelGrid>
                                        <h:panelGrid columns="3" style="margin-left: 100px;">
                                            <p:outputLabel value="Date :" for="dateBesoins" />
                                            <p:calendar id="dateBesoins" rendered="true" value="#{radioOperateurBean.champsRecherche}" 
                                                        pattern="dd/MM/yyyy"/>
                                            <p:commandButton 
                                                styleClass="ui-priority-primary"
                                                style="float: right;" value="Chercher les afftectations par date" icon="ui-icon-search"
                                                update=":formeRadioOperateur:tabViewRadioOp:listeAffectation, :formMessage:message"
                                                >
                                            </p:commandButton>
                                        </h:panelGrid>
                                    </h:panelGrid>
                                    <p:dataTable var="affecationBesoins" value="#{radioOperateurBean.listCvAffectationbesoins}"
                                                 id="listeAffectation"
                                                 paginator="true" rows="10"
                                                 rowsPerPageTemplate="5,10,15" 
                                                 rowKey="#{affecationBesoins.id}"  
                                                 selection="#{radioOperateurBean.affectationbesoinSelect}"
                                                 selectionMode="single"
                                                 styleClass="affectation"
                                                 rowStyleClass="#{radioOperateurBean.colorStatuBean(affecationBesoins.statue)}">
                                        >  
                                        <f:facet name="header" id="enteteDate">  
                                            Radio opérateur sortie du jour [Date : 
                                            <h:outputText value="#{radioOperateurBean.champsRecherche}" >
                                                <f:convertDateTime pattern="dd/MM/yyyy" />
                                            </h:outputText>]
                                        </f:facet>
                                        <p:ajax event="rowSelect" 
                                                update=":formeRadioOperateur:tabViewRadioOp:detailsCvAffectation" />  


                                        <p:column headerText="Departement" filterBy="#{affecationBesoins.cvListebesoinIdbesoin.equipe.iddepartement.nomdepartement}">  
                                            <h:outputText value="#{affecationBesoins.cvListebesoinIdbesoin.equipe.iddepartement.nomdepartement}" />  
                                        </p:column> 
                                        <p:column headerText="Equipe" filterBy="#{affecationBesoins.cvListebesoinIdbesoin.equipe.equipe}">  
                                            <h:outputText value="#{affecationBesoins.cvListebesoinIdbesoin.equipe.equipe}" />  
                                        </p:column>
                                        <p:column headerText="Besoin">
                                            <h:outputText value="#{radioOperateurBean.besoinById.date} - #{radioOperateurBean.besoinById.commentaire}" >
                                                <f:attribute name="idbesoin" value="#{affecationBesoins.cvListebesoinIdbesoin.idbesoin}"/>
                                            </h:outputText>
                                        </p:column>
                                        <p:column headerText="Véhicule" filterBy="#{affecationBesoins.idvehicule.nom}">  
                                            <p:commandLink action="#{vehiculeCreerBean.voirDetailDunVehiculeView}" >
                                                <h:outputText value="#{affecationBesoins.idvehicule.nom}" />
                                                <f:setPropertyActionListener value="#{affecationBesoins.idvehicule}" target="#{vehiculeCreerBean.cvVehiculeSelectionner}"/>
                                                <f:setPropertyActionListener value="#{redirectionBean.redirectionRadioOperateurJMS}" target="#{vehiculeCreerBean.pagePrecedente}"/>
                                            </p:commandLink>
                                        </p:column> 
                                        <p:column headerText="Chauffeur" filterBy="#{affecationBesoins.idchauffeur.nom}">
                                            <p:commandLink action="#{lesTravailleursBean.voirDetailDunTravailleur2}" id="NomPrenom">
                                                <h:outputText value="#{affecationBesoins.idchauffeur.nom} #{affecationBesoins.idchauffeur.prenom}" />  
                                                <f:setPropertyActionListener value="#{affecationBesoins.idchauffeur}" target="#{lesTravailleursBean.cvTravailleurSelectionner}"/>
                                                <f:setPropertyActionListener value="#{redirectionBean.redirectionRadioOperateurJMS}" target="#{lesTravailleursBean.pagePrecedente}"/>
                                            </p:commandLink>
                                            <p:tooltip for="NomPrenom" showEvent="focus" hideEvent="blur" />  
                                        </p:column> 


                                    </p:dataTable>
                                    <p:separator id="customSeparator" style="width:100%;height:5px" /> 
                                    <p:panel id="detailsCvAffectation" >
                                        <f:facet name="header">
                                            Détails d'une affectation
                                            <p:commandButton id="Sauver"
                                                             styleClass="ui-priority-primary"
                                                             style="float: right;" value="Enregistrer l'état actuel de la suivie!" icon="ui-icon-disk"
                                                             rendered="#{radioOperateurBean.affectationbesoinSelect.statue == 1 || radioOperateurBean.affectationbesoinSelect.statue == null ? 'false':'true'}"
                                                             action="#{radioOperateurBean.enregistrerEtatAffectation}"
                                                             update=":formeRadioOperateur:tabViewRadioOp:detailsCvAffectation :formMessage:message">
                                            </p:commandButton>
                                        </f:facet>
                                        <h:panelGrid columns="3" cellpadding="10" >
                                            <p:panelGrid columns="2">
                                                <p:outputLabel value="Position en début de jounée :" for="positionDebut"/>
                                                <p:inplace id="positionDebut" editor="true" style="color: tomato;" disabled="#{radioOperateurBean.affectationbesoinSelect.statue == 1 || radioOperateurBean.affectationbesoinSelect.statue == null ? 'true':'false'}" effectSpeed="fast" emptyLabel="Cliquer pour editer"  > 
                                                    <p:inputText styleClass="alert-info" value="#{radioOperateurBean.affectationbesoinSelect.positionDebutJourn}" 
                                                                 required="true"  />
                                                </p:inplace>

                                                <p:outputLabel value="Heure du premier depart" for="heureDebut"/>
                                                <p:inplace id="heureDebut" editor="true" disabled="#{radioOperateurBean.affectationbesoinSelect.statue == 1 || radioOperateurBean.affectationbesoinSelect.statue == null ? 'true':'false'}" style="color: tomato;" effectSpeed="fast" emptyLabel="Cliquer pour editer"  > 

                                                    <pe:timePicker value="#{radioOperateurBean.affectationbesoinSelect.heurDeDepart}" mode="popup" showCloseButton="true"  
                                                                   showDeselectButton="true" showNowButton="true" rows="3" styleClass=".selectHeure"
                                                                   widgetVar="customTimeWidget"
                                                                   label="Popup time picker"
                                                                   >
                                                        <f:convertDateTime pattern="HH:mm" />
                                                    </pe:timePicker>
                                                </p:inplace>
                                                <p:outputLabel value="Etat :" />
                                                <p:outputLabel value="#{radioOperateurBean.afficheStatu(radioOperateurBean.affectationbesoinSelect.statue)}" styleClass="#{radioOperateurBean.colorStatuBean(radioOperateurBean.affectationbesoinSelect.statue)}"/>

                                            </p:panelGrid>
                                            <p:panel id="detailcheick">
                                                <f:facet name="header">
                                                    Liste des checks
                                                    <p:commandButton id="creercheck"
                                                                     styleClass="ui-priority-primary"
                                                                     style="float: right;" value="Radio check" icon="ui-icon-clock"
                                                                     action="#{radioOperateurBean.initialisationSaisieCheck}"
                                                                     rendered="#{radioOperateurBean.affectationbesoinSelect.statue == 1 || radioOperateurBean.affectationbesoinSelect.statue == null ? 'false':'true'}"
                                                                     oncomplete="nouveauCheckDialog.show()"
                                                                     update=":formNouveauCheck">
                                                    </p:commandButton>
                                                </f:facet>
                                                <p:dataTable var="check" id="listeDesCheck" value="#{radioOperateurBean.affectationbesoinSelect.cvCheikeuraffectationbesoinList}"
                                                             emptyMessage="Aucun check n'a été enregistré! ">  
                                                    <p:column headerText="Date">  
                                                        <h:outputText value="#{check.ckeckradio}" >
                                                            <f:convertDateTime pattern="dd/MM/yyyy" />
                                                        </h:outputText> 
                                                    </p:column>  
                                                    <p:column headerText="Check radio">  
                                                        <h:outputText value="#{check.ckeckradio}" >
                                                            <f:convertDateTime pattern="HH:mm" />
                                                        </h:outputText>
                                                    </p:column>  
                                                    <p:column headerText="Lieu">  
                                                        <h:outputText value="#{check.lieu}" />  
                                                    </p:column>  

                                                </p:dataTable> 
                                            </p:panel>
                                            <p:commandButton  style="float: right;" action="#{radioOperateurBean.finirSortie}"
                                                              rendered="#{radioOperateurBean.affectationbesoinSelect.statue == 1 || radioOperateurBean.affectationbesoinSelect.statue == null ? 'false':'true'}"
                                                              update=":formeRadioOperateur:tabViewRadioOp:listeAffectation :formeRadioOperateur:tabViewRadioOp:detailsCvAffectation :formMessage:message"
                                                              icon="ui-icon-check"  value="Finir la sortie"/>
                                        </h:panelGrid>
                                    </p:panel>
                                </p:tab>
                                <p:tab id="tab2" title="Affectations précedentes" rendered="false">
                                    <h:panelGrid columns="2">
                                        <p:outputLabel value="* Signification des couleurs :" style="color: red;"/>
                                        <p:panelGrid columns="1">
                                            <p:outputLabel value="Sortie en cours" style="background-color: #E2CF6C;"/>
                                            <p:outputLabel value="Fin de la sortie" style="background-color: #6CE26C;"/>
                                        </p:panelGrid>
                                    </h:panelGrid>
                                    <p:dataTable var="affecationBesoins" value="#{radioOperateurBean.listCvAffectationbesoinsOld}"
                                                 id="listeAffectationOld"
                                                 paginator="true" rows="10"
                                                 rowsPerPageTemplate="5,10,15" 
                                                 rowKey="#{affecationBesoins.id}"  
                                                 selection="#{radioOperateurBean.affectationbesoinSelectOld}"
                                                 selectionMode="single"
                                                 styleClass="affectation"
                                                 rowStyleClass="#{radioOperateurBean.colorStatuBean(affecationBesoins.statue)}">
                                        >  
                                        <f:facet name="header">  
                                            Radio opérateur  
                                        </f:facet>
                                        <p:ajax event="rowSelect" 
                                                update=":formeRadioOperateur:tabViewRadioOp:detailsCvAffectationOld" />  


                                        <p:column headerText="Departement" filterBy="#{affecationBesoins.cvListebesoinIdbesoin.equipe.iddepartement.nomdepartement}">  
                                            <h:outputText value="#{affecationBesoins.cvListebesoinIdbesoin.equipe.iddepartement.nomdepartement}" />  
                                        </p:column> 
                                        <p:column headerText="Equipe" filterBy="#{affecationBesoins.cvListebesoinIdbesoin.equipe.equipe}">  
                                            <h:outputText value="#{affecationBesoins.cvListebesoinIdbesoin.equipe.equipe}" />  
                                        </p:column> 
                                        <p:column headerText="Véhicule" filterBy="#{affecationBesoins.idvehicule.nom}">  
                                            <h:outputText value="#{affecationBesoins.idvehicule.nom}" />  
                                        </p:column> 
                                        <p:column headerText="Nom et prénom" filterBy="#{affecationBesoins.idchauffeur.nom}">
                                            <p:commandLink action="#{lesTravailleursBean.voirDetailDunTravailleur2}" id="NomPrenom">
                                                <h:outputText value="#{affecationBesoins.idchauffeur.nom} #{affecationBesoins.idchauffeur.prenom}" />  
                                                <f:setPropertyActionListener value="#{affecationBesoins.idchauffeur}" target="#{lesTravailleursBean.cvTravailleurSelectionner}"/>
                                                <f:setPropertyActionListener value="#{redirectionBean.redirectionRadioOperateurJMS}" target="#{lesTravailleursBean.pagePrecedente}"/>
                                            </p:commandLink>
                                            <p:tooltip for="NomPrenom" showEvent="focus" hideEvent="blur" />  
                                        </p:column> 

                                        <p:column headerText="Date">
                                            <h:outputText id="heureDebutOld"  value="#{affecationBesoins.cvListebesoinIdbesoin.date}" 
                                                          >
                                                <f:convertDateTime pattern="dd/MM/yyyy" />
                                            </h:outputText>
                                        </p:column>
                                    </p:dataTable>
                                    <p:separator id="customSeparatorOld" style="width:100%;height:5px" /> 
                                    <p:panel id="detailsCvAffectationOld" >
                                        <f:facet name="header">
                                            Détails d'une affectation
                                        </f:facet>
                                        <h:panelGrid columns="2" cellpadding="10" >
                                            <p:panelGrid columns="2">
                                                <p:outputLabel value="Position en début de jounée :" for="positionDebutOld"/>

                                                <h:outputText id="positionDebutOld"  value="#{radioOperateurBean.affectationbesoinSelectOld.positionDebutJourn}" 
                                                              />


                                                <p:outputLabel value="Heure du premier depart" for="heureDebutOld"/>
                                                <h:outputText id="heureDebutOld"  value="#{radioOperateurBean.affectationbesoinSelectOld.heurDeDepart}" 
                                                              >
                                                    <f:convertDateTime pattern="HH:mm" />
                                                </h:outputText>

                                                <p:outputLabel value="Etat :" />
                                                <p:outputLabel value="Status" styleClass="#{radioOperateurBean.colorStatuBean(radioOperateurBean.affectationbesoinSelectOld.statue)}"/>

                                            </p:panelGrid>
                                            <p:panel >
                                                <f:facet name="header">
                                                    Liste des checks 
                                                </f:facet>
                                                <p:dataTable var="check" id="listeDesCheckOld" value="#{radioOperateurBean.affectationbesoinSelectOld.cvCheikeuraffectationbesoinList}"
                                                             emptyMessage="Aucun check n'a été enregistré! ">  
                                                    <p:column headerText="Numéro">  
                                                        <h:outputText value="#{check.idCkeik}" />  
                                                    </p:column>  
                                                    <p:column headerText="Check radio">  
                                                        <h:outputText value="#{check.ckeckradio}" >
                                                            <f:convertDateTime pattern="HH:mm" />
                                                        </h:outputText>
                                                    </p:column>  
                                                    <p:column headerText="Lieu">  
                                                        <h:outputText value="#{check.lieu}" />  
                                                    </p:column>  

                                                </p:dataTable> 
                                            </p:panel>

                                        </h:panelGrid>
                                    </p:panel>
                                </p:tab>
                            </p:tabView>
                        </p:panel>


                    </h:form>

                    <p:dialog header="Faire un check" widgetVar="nouveauCheckDialog" resizable="false" id="nouveauCheckDialogId"  
                              hideEffect="explode" showEffect="slide" >  
                        <h:form id="formNouveauCheck">
                            <h:panelGrid columns="2">
                                <h:outputText />
                                <p:panelGrid columns="2">
                                    <h:outputLabel value="Véhicule :" />
                                    <h:outputText value="#{radioOperateurBean.affectationbesoinSelect.idvehicule.nom}" />  
                                    <h:outputLabel value="Chauffeur :" />
                                    <h:outputText value="#{radioOperateurBean.affectationbesoinSelect.idchauffeur.nom} #{radioOperateurBean.affectationbesoinSelect.idchauffeur.prenom}" />  
                                </p:panelGrid>
                                <h:outputLabel value="Heure :" for="heurecheick" />
                                <h:outputText value="#{radioOperateurBean.cvCheikeuraffectationbesoin.ckeckradio}" id="heurecheick" style="background-color: #bce8f1;">
                                    <f:convertDateTime pattern="HH:mm" />
                                </h:outputText>
                                <h:outputLabel value="Lieu :" for="inputLieu" />
                                <p:inputText id="inputLieu" value="#{radioOperateurBean.cvCheikeuraffectationbesoin.lieu}" 
                                             title="Lieu" required="true" 
                                             />
                                <h:outputText />
                                <p:commandButton value="Créer" icon="ui-icon-check"
                                                 action="#{radioOperateurBean.enregistrerUnCheck}"
                                                 update=":formeRadioOperateur:tabViewRadioOp:detailcheick :formMessage:message"
                                                 oncomplete="handleCreerCheckRequest(xhr, status, args)"
                                                 />   
                            </h:panelGrid>
                        </h:form>
                    </p:dialog>

                    <script type="text/javascript">
                        function handleCreerCheckRequest(xhr, status, args) {
                            if (args.validationFailed || !args.status) {
                                //alert(args.message);
                            } else {
                                nouveauCheckDialog.hide();

                            }
                        }
                    </script>
                </ui:define>
            </ui:composition>
        </h:body>

    </f:view>
</html>

